package com.asset.dispoal.dataDetail.domain.db.mapper;

import com.asset.dispoal.dataDetail.domain.db.entity.SysDataDetail;
import com.asset.dispoal.dataDetail.domain.db.entity.SysDataDetailTemplate;
import com.asset.dispoal.dataDetail.dto.SysDataDetailTemplateResponse;
import com.asset.dispoal.dataDetail.dto.SysDataType;
import com.asset.dispoal.dataDetail.dto.SysDataTypeDetailTemplate;
import com.asset.dispoal.dataDetail.dto.SysDataTypePage;
import com.asset.dispoal.dataDetail.dto.SysDataTypeSaveRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tech.mhuang.pacebox.springboot.core.mapper.BaseMapper;
import tech.mhuang.pacebox.springboot.protocol.data.Page;

import java.util.List;
import java.util.Map;

/**
 * 数据清单表JDBC接口
 *
 * @author: mhuang
 * @date: 2022-03-23 13:47:06
 */
@Mapper
public interface SysDataDetailMapper extends BaseMapper<SysDataDetail, String> {


    void initialization(@Param("maps") List<Map<String, Object>> maps);

    List<Map<String, Object>> queryTemplate();

    Integer countTemplate(SysDataDetailTemplate sysDataDetail);

    List<SysDataDetailTemplate> pageTemplate(Page<SysDataDetailTemplate> page);

    Integer deleteByAssetInstBatchId(String assetInstBatchId);

    Integer deleteType(String id);

    Integer countType(SysDataTypePage page);

    List<SysDataTypePage> pageType(Page<SysDataTypePage> page);

    Integer insertType(SysDataTypeSaveRequest request);

    List<SysDataDetailTemplateResponse> queryBaseTemplate();

    List<SysDataTypeDetailTemplate> queryTypeTemplateById(String id);

    List<SysDataType> queryTypeList();

    List<Map<String, Object>> queryTypeTemplateMapById(String id);

    List<SysDataTypeDetailTemplate> queryTemplateByAssetInstBatchId(String id);
}